/**
 *
 */
package br.gov.ms.tce.cjur.service.impl;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.transaction.annotation.Transactional;

import br.gov.ms.tce.bean.comum.Usuario;
import br.gov.ms.tce.cjur.helper.CjurHelper;
import br.gov.ms.tce.cjur.helper.CriptografaMD5Helper;
import br.gov.ms.tce.cjur.helper.EmailHelper;
import br.gov.ms.tce.cjur.service.UsuarioService;
import br.gov.ms.tce.modelo.dao.UsuarioDAO;

/**
 * @author Anderson Paulino
 * @date 15/08/2011
 */
@Named
public class UsuarioServiceImpl extends AbstractService implements UsuarioService{

	@Inject
	private UsuarioDAO dao;

	
	/**
	 * @see br.gov.ms.tce.cjur.service.UsuarioService#enviarEmailDeRecuperacaoDeSenha(java.lang.String)
	 */
	@Override
	@Transactional
	public String enviarEmailDeRecuperacaoDeSenha(String login) {
		String msg="";
		Usuario usuario = dao.findByLoginAndSenha(login, null);
		
		if(usuario!=null){
			usuario.setSenha(CjurHelper.gerarSenhaAleatoria());
			
			
			msg = EmailHelper.enviarEmailDeRecuperacaoDeSenha(usuario);
			
			usuario.setSenha(CriptografaMD5Helper.criptografa(usuario.getSenha()));
			dao.update(usuario);
			
		}else{
			msg = "Não foi encontrado nenhum usuário com o login: "+login;
		}
		
		return msg;
		
	}
}
